package com.xydtech.ecard.custgroup.service;

import com.xydtech.ecard.custgroup.domain.EcardCustomerGroupOrganize;

import java.util.List;

/**
 * 社团组织信息Service接口
 *
 * @author yuzhiguo
 * @date 2024-11-26 下午3:08
 */
public interface IEcardCustomerGroupOrganizeService
{
    /**
     * 查询社团组织信息
     *
     * @param id 社团组织信息主键
     * @return 社团组织信息
     */
    public EcardCustomerGroupOrganize selectEcardCustomerGroupOrganizeById(Long id, String salt);

    /**
     * 查询社团组织信息列表
     *
     * @param ecardCustomerGroupOrganize 社团组织信息
     * @return 社团组织信息集合
     */
    public List<EcardCustomerGroupOrganize> selectEcardCustomerGroupOrganizeList(EcardCustomerGroupOrganize ecardCustomerGroupOrganize, String salt);

    /**
     * 新增社团组织信息
     *
     * @param ecardCustomerGroupOrganize 社团组织信息
     * @return 结果
     */
    public int insertEcardCustomerGroupOrganize(EcardCustomerGroupOrganize ecardCustomerGroupOrganize);

    /**
     * 修改社团组织信息
     *
     * @param ecardCustomerGroupOrganize 社团组织信息
     * @return 结果
     */
    public int updateEcardCustomerGroupOrganize(EcardCustomerGroupOrganize ecardCustomerGroupOrganize);

    /**
     * 批量删除社团组织信息
     *
     * @param ids 需要删除的社团组织信息主键集合
     * @return 结果
     */
    public int deleteEcardCustomerGroupOrganizeByIds(String ids);

    /**
     * 删除社团组织信息
     *
     * @param id 社团组织信息主键
     * @return 结果
     */
    public int deleteEcardCustomerGroupOrganizeById(Long id);

    /**
     * 批量移交社团组织信息
     * @param ecardCustomerGroupOrganizeList
     * @param registId
     * @param userId
     * @return
     */
    int allocationGroupOrganizeInfo(List<EcardCustomerGroupOrganize> ecardCustomerGroupOrganizeList, Long registId, Long userId);

    /**
     * 批量释放社团组织
     * @param ecardCustomerGroupOrganizeList
     * @return
     */
    int batchReleaseEcardCustomerGroupOrganize(List<EcardCustomerGroupOrganize> ecardCustomerGroupOrganizeList);

    /**
     * 批量启用/停用社团组织
     * @param ecardCustomerGroupOrganizeList
     * @return
     */
    int batchSwitchOverEcardCustomerGroupOrganize(List<EcardCustomerGroupOrganize> ecardCustomerGroupOrganizeList);
}
